所以我有以下链接将参数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能够正常运行。
如何在create action ???
中访问传递给新操作的参数提前感谢您的帮助。 当然,如果你给我正确的答案,我会接受它。 -Alex
答案 0 :(得分: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的新控制器中,它需要ads_id这是隐藏的字段,为了创建Message,它也需要advert_id,所以,我会做
@advertisement = Advertisement.find(params[:advertisement_id])
@message = Message.new(:advertisement_id => @advertisement.id)
然后当我保存我的Message模型(在创建动作控制器中)时,它将保存所有细节。
答案 1 :(得分:0)
如果您使用新的表单,则可以从隐藏字段中发送此值。