Rails 3: Как отобразить предупреждающее сообщение при нажатии на ссылку? - PullRequest
0 голосов
/ 09 марта 2011

В моем приложении на Rails 3 есть следующая ссылка:

link_to("Invoice", "/jobs/#{job.id}/invoice") 

Когда пользователь щелкает по нему, приложение отображает счет.

Я хотел бы отобразить предупреждающее сообщение, когда job.price отсутствует, спрашивая пользователя, продолжать или нет.Затем его следует перенаправить на страницу счета, только если пользователь выбрал «да».

Какой самый простой способ реализовать это?

Ответы [ 3 ]

2 голосов
/ 09 марта 2011

Это сработало для меня:

link_to("Invoice", "/jobs/#{job.id}/invoice", 
        :confirm => (job.price ? '' : "Job Price is missing. Continue anyway ?")) 
1 голос
/ 09 марта 2011

Попробуйте это

<%= link_to "Invoice", "/jobs/#{job.id}/invoice", :onclick => "#{ "confirm('The job price is missing, are you sure you want to continue?')" if job.price.nil? } %>

Надеюсь, это то, что вы ищете. Удачи!

0 голосов
/ 09 марта 2011

Если предположить, что Prototype.js, проще всего будет встроенный обработчик кликов. Встроенная опция: подтвердить не будет работать, так как вам нужно проверить поле на странице.

link_to("Invoice", "/jobs/#{job.id}/invoice", :onclick => "if($F('job_price') == '') confirm('Job price is not set. Are you sure you want to continue?');")

Вероятно, есть сто более изощренных способов справиться с этим, ненавязчиво или как угодно.

...