【问题标题】:Rails 3- how can I access a parameter passed to a new action in a create actionRails 3-如何在创建操作中访问传递给新操作的参数
【发布时间】:2013-01-23 03:49:19
【问题描述】:

所以我有以下链接,它将参数 experience_id 传递给 experience_skills 控制器的新操作。

<%= button_to 'Add Skill', new_experience_skill_path(:experience_id => experience.id),:remote => "true", :class => "btn", :id => "new-experience-skill-btn" %>

结果很好——即 params[:experience_id] 是正确的值!

问题是我需要在 experience_skills 控制器的创建操作中访问 params[:experience_id] 以使某些 javascript 和 ajax 正常运行。

如何在创建操作中访问传递给新操作的参数???

提前感谢您的帮助。 当然,如果你给我正确的答案,我会接受。 -亚历克斯

【问题讨论】:

  • 不,它没有。我已经试过了。

标签: ruby-on-rails ajax ruby-on-rails-3


【解决方案1】:

您试图访问哪个地方 params[:experience_id] ?在新的行动或创造行动?

在你的表单中,你可以这样做,例如:

   <div class="field">    
       <%= f.hidden_field :experience_id, :value => @instant_obj.id %>
   </div>

然后,在您的控制器中执行新操作

 @instant_obj = CLASS.find(params[:experience_id])

不确定它可以帮助你..

修改: 如果没记错的话,它只会在New,从我的场景中说,在Message的新控制器中,它需要advertising_id,它是隐藏字段,为了创建Message,它还需要advertising_id,所以,我会做

@advertisement = Advertisement.find(params[:advertisement_id])
@message = Message.new(:advertisement_id => @advertisement.id)

然后当我保存我的消息模型(在创建动作控制器中)时,它将保存所有细节。

【讨论】:

  • 感谢您的回答。我正在尝试访问 create 操作中的值。这个逻辑会将参数传递给 create 还是只传递给 new?
  • 如果没记错的话,它只会在新的,让我们从我的场景中说,
  • 但是我怎样才能将参数传递给创建操作呢?这就是我需要做的。
  • 啊,当然。保存后我可以访问体验 ID!!!!感谢您指出@Nich。你这个人。
【解决方案2】:

如果您在 new 中使用表单,则可以从隐藏字段中发送此值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-13
    • 2021-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多